﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class actualizar_mapas : System.Web.UI.Page
{
    DataTable dt_afiches, dt_escuelas;
    conectividad_bdd_procesos bdd_procesos;//instanciar la clase conectividad_bdd_procesos

    //cadena o ruta dond s encuentra nuestra bdd 
    string cadena = "Data Source=ALEXMIGUEL-PC\\SQLEXPRESS;Initial Catalog=bdd_preservación_documental_puce_si;Integrated Security=True";
    int id_escuelaX = -1;
    int fila;
    int id_mapa;
    protected void Page_Load(object sender, EventArgs e)
    {
        activar_desactivar(false, 0);
        if (IsPostBack == false)//al momento d cargarse
        {
            bdd_procesos = new conectividad_bdd_procesos(cadena);
            bdd_procesos.abrir_coneccion();
            //escuelas departamentos
            dt_escuelas = bdd_procesos.select_t_escuelasX_mostrar_usuarios("select_t_escuelasX_mostrar_usuarios");//mostrar todas las escuelas/departamentos y obtenerle en una tabla
            bdd_procesos.mostrar_combo_info(dt_escuelas, cmb_escuela_departamento, "escuela_descripcion", "id_escuela");//mediante la tabla obtenida mostrar los datos en l combo box
            bdd_procesos.cerrar_coneccion();

            if (dt_escuelas.Rows.Count < 0)//si hay registros en la bdd muestra
            {


                mensaje("No existe Departamentos/Escuelas");//CUANDO LA TABLA DEPARTAMENTOS NO EXISTE DATOS
                activar_desactivarBonotes(false);
            }
            else
            {
                //mostrar informacion de los libros ingresados por los usuarios
                dt_afiches = select_t_mapas_mostrar_usuarios(dt_afiches);
                // Y mostrar el primer registro
                if (dt_afiches.Rows.Count > 0)
                {
                    btnprimero_Click(null, null);
                }
                else
                {
                    fila = -1;
                    btn_guardar_libro.Enabled = false;
                    activar_desactivarBonotes(false);
                    mensaje("No existe Datos que Actualizar.");
                }
            }

        }

    }
    //muestra mensajes x ventana
    public void mensaje(string v_msg)
    {
        Response.Write("<script language='javascript'>");
        Response.Write("alert" + "('" + v_msg + "')");
        Response.Write("</script>");

    }
    public void activar_desactivarBonotes(bool activar_desas)
    {
        btn_guardar_libro.Enabled = activar_desas;
        btnAtras.Enabled = activar_desas;
        btnEditar.Enabled = activar_desas;
        btnprimero.Enabled = activar_desas;
        btnSiguiente.Enabled = activar_desas;
        btnAtras.Enabled = activar_desas;
        btnUltimo.Enabled = activar_desas;

    }
    public DataTable select_t_mapas_mostrar_usuarios(DataTable dt)
    {
        bdd_procesos = new conectividad_bdd_procesos(cadena);
        bdd_procesos.abrir_coneccion();

        dt = bdd_procesos.select_t_mapas_mostrar_usuarios("select_t_mapas_mostrar_usuarios");//mostrar todas las escuelas/departamentos y obtenerle en una tabla
        bdd_procesos.cerrar_coneccion();
        return dt;
    }
    private void mostrarDatos(int f)
    {
        dt_afiches = select_t_mapas_mostrar_usuarios(dt_afiches);

        int uf = dt_afiches.Rows.Count - 1;
        if (f < 0 || uf < 0) return;
        //
        id_mapa = int.Parse(dt_afiches.Rows[f][0].ToString());
        lblIdMapas.Text = id_mapa.ToString();
        txtEscue.Text = dt_afiches.Rows[f][1].ToString();//Escuela
        txtTitulo.Text = dt_afiches.Rows[f][2].ToString(); ;//autore
        txtNombres.Text = dt_afiches.Rows[f][3].ToString(); //TEMA REVISTA
        txtApellidos.Text = dt_afiches.Rows[f][4].ToString();//TEMA ARTICULO
        txtDia.Text = dt_afiches.Rows[f][5].ToString();//NO PAGINAS
        txtMes.Text = dt_afiches.Rows[f][6].ToString();//NO PAGINAS
        txtAño.Text = dt_afiches.Rows[f][7].ToString();//aÑO
        txtTamaño.Text = dt_afiches.Rows[f][8].ToString();//REVISTA NO
        txtLugar.Text = dt_afiches.Rows[f][9].ToString();//REVISTA NO
        txtFisicamentRe.Text = dt_afiches.Rows[f][10].ToString();//REVISTA NO


    }
    //activa y desactiva
    public void activar_desactivar(bool Ac_Des, int Act_mostrar)
    {
        if (Act_mostrar == 0)//AL CARGAR POR PRIMERA VES MUESTRA
        {
            txtEscue.Enabled = Ac_Des;//Escuela
            cmb_escuela_departamento.Visible = false;
             txtTitulo.Enabled = Ac_Des;
             txtNombres.Enabled = Ac_Des;
             txtApellidos.Enabled = Ac_Des;
            txtDia.Enabled = Ac_Des;//autores
            txtMes.Enabled = Ac_Des; //libros titulo
            txtAño.Enabled = Ac_Des;
            txtTamaño.Enabled = Ac_Des;
            txtLugar.Enabled = Ac_Des;//año
            txtFisicamentRe.Enabled = Ac_Des;
            btn_guardar_libro.Enabled = Ac_Des;


        }
        else //AL REALIZAR ACTUAALIZAR
        {
            txtEscue.Enabled = false;//Escuela
            cmb_escuela_departamento.Visible = Ac_Des;
            txtTitulo.Enabled = Ac_Des;
            txtNombres.Enabled = Ac_Des;
            txtApellidos.Enabled = Ac_Des;
            txtDia.Enabled = Ac_Des;//autores
            txtMes.Enabled = Ac_Des; //libros titulo
            txtAño.Enabled = Ac_Des;
            txtTamaño.Enabled = Ac_Des;
            txtLugar.Enabled = Ac_Des;//año
            txtFisicamentRe.Enabled = Ac_Des;
            btn_guardar_libro.Enabled = Ac_Des;
        }
    }
    protected void btnprimero_Click(object sender, EventArgs e)
    {
        // Posicionarse en la primera fila
        fila = 0;
        lblRegistro.Text = (fila + 1).ToString();
        // Mostrar los datos de la fila indicada
        mostrarDatos(fila);
    }
    protected void btnAtras_Click(object sender, EventArgs e)
    {

        // Posicionarse en la fila anterior

        fila = (int.Parse(lblRegistro.Text) - 1) - 1;
        if (fila < 0) fila = 0;
        // Mostrar los datos de la fila indicada
        mostrarDatos(fila);
        lblRegistro.Text = (fila + 1).ToString();
    }
    protected void btnSiguiente_Click(object sender, EventArgs e)
    {
        // Posicionarse en la fila siguiente
        dt_afiches = select_t_mapas_mostrar_usuarios(dt_afiches);
        int uf = dt_afiches.Rows.Count - 1;

        fila = (int.Parse(lblRegistro.Text) - 1) + 1;
        if (fila > uf) fila = uf;
        // Mostrar los datos de la fila indicada
        mostrarDatos(fila);
        lblRegistro.Text = (fila + 1).ToString();
    }
    protected void btnUltimo_Click(object sender, EventArgs e)
    {
        dt_afiches = select_t_mapas_mostrar_usuarios(dt_afiches);
        // Posicionarse en la última fila
        fila = dt_afiches.Rows.Count - 1;
        lblRegistro.Text = (fila + 1).ToString();
        // Mostrar los datos de la fila indicada
        mostrarDatos(fila);
    }
    protected void btnEditar_Click(object sender, EventArgs e)
    {
        //cmb_escuela_departamento.Visible = true;
        //cmb_meses.Visible = true;
        activar_desactivar(true, 1);
    }
    protected void cmb_escuela_departamento_SelectedIndexChanged(object sender, EventArgs e)
    {
        id_escuelaX = int.Parse(cmb_escuela_departamento.SelectedValue.ToString());//obtenemos el id propio al seleccionar l departamento o escuela
        if (id_escuelaX > 0)
        {
            id_escuelaX = int.Parse(cmb_escuela_departamento.SelectedValue.ToString());//obtenemos el id propio al seleccionar l departamento o escuela

        }
    }
    protected void btn_guardar_libro_Click(object sender, EventArgs e)
    {
        bdd_procesos = new conectividad_bdd_procesos(cadena);
        bdd_procesos.abrir_coneccion();
        //escuelas departamentos
        id_escuelaX = int.Parse(cmb_escuela_departamento.SelectedValue.ToString());
        id_mapa = int.Parse(lblIdMapas.Text);

        string msj = bdd_procesos.actualizar_t_mapas("actualizar_t_mapas", id_mapa, id_escuelaX, txtTitulo.Text, txtNombres.Text, txtApellidos.Text, txtDia.Text, txtMes.Text, txtAño.Text, txtTamaño.Text, txtLugar.Text, txtFisicamentRe.Text);
        mensaje(msj);
        activar_desactivar(false, 0);
        bdd_procesos.cerrar_coneccion();
    }
}